As computing devices have become increasingly available and part of our everyday lives, it has become important for people to be able to interconnect some of these devices. Computing devices can be interconnected using a network, which allows data to be communicated between two devices by way of one or more intermediary devices referred to as routers. A router is a device that receives data from one device and sends the received data to another device (e.g., another router) based on a target destination of the data. The data is typically received and sent in the form of packets of data. While current routers are useful, they are not without their problems. One such problem is that it remains difficult to build routers that are relatively inexpensive, are easily changeable by users, and route data quickly. This can lead to frustration for the user of the router and a poor user experience with the router.